package BC140_KiKi设计类继承;

import java.util.Scanner;

/*KiKi理解了继承可以让代码重用，他现在定义一个基类shape，私有数据为坐标点x,y,
由它派生Rectangle类和Circle类，它们都有成员函数GetArea()求面积。
派生类Rectangle类有数据：矩形的长和宽；派生类Circle类有数据：圆的半径。
Rectangle类又派生正方形Square类，定义各类并测试。输入三组数据，分别是矩形的长和宽、圆的半径、正方形的边长，
输出三组数据，分别是矩形、圆、正方形的面积。圆周率按3.14计算。
输入描述：
输入三行，
第一行为矩形的长和宽，
第二行为圆的半径，
第三行为正方形的边长。
输出描述：
三行，分别是矩形、圆、正方形的面积。
示例1
输入：
7 8
10
5
输出：
56
314
25*/
class shape{
    private int x;
    private int y;

}

class Rectangle extends shape{
    private double a;
    private double b;

    Rectangle(double a, double b){
        this.a = a;
        this.b = b;

    }
    Rectangle(int a, int b){
        this.a = a;
        this.b = b;

    }
    public double GetArea(){
        return a * b;
    }

}

class Circle extends shape{
    private double r;

    Circle(double r){
        this.r = r;
    }
    Circle(int r){
        this.r = r;
    }
    public double GetArea(){
        return (3.14 * r * r);
    }
}

class Square extends Rectangle{
    private double a;

    Square(double a) {
        super(a, a);
    }
    Square(int a) {
        super(a, a);
    }
}


public class Main {
    public static void main(String[] args) {
        Scanner sc = new Scanner(System.in);
        Rectangle rectangle = new Rectangle(sc.nextDouble(), sc.nextDouble());
        Circle circle = new Circle(sc.nextDouble());
        Square square = new Square(sc.nextDouble());

        System.out.println(rectangle.GetArea());
        System.out.println(circle.GetArea());
        System.out.println(square.GetArea());
    }

}
